import { computed } from 'vue';

// 根据类型设置默认格式化
const dateProps = {
	year: { format: 'YYYY', valueFormat: 'YYYY' },
	month: { format: 'YYYY-MM', valueFormat: 'YYYY-MM' },
	date: { format: 'YYYY-MM-DD', valueFormat: 'YYYY-MM-DD' },
	dates: { format: 'YYYY-MM-DD', valueFormat: 'YYYY-MM-DD' },
	datetime: { format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'YYYY-MM-DD HH:mm:ss' },
	week: { format: '[Week] ww', valueFormat: 'YYYY-MM-DD' },
	datetimerange: { format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'YYYY-MM-DD HH:mm:ss' },
	daterange: { format: 'YYYY-MM-DD', valueFormat: 'YYYY-MM-DD' },
	monthrange: { format: 'YYYY-MM', valueFormat: 'YYYY-MM' },
};
export default function initDate(attrs) {
	// 设置默认的格式化
	const myformat = computed(() => {
		if (typeof attrs.value.format !== 'undefined') {
			return attrs.value.format;
		} else {
			return dateProps[attrs.value.type ?? 'date'].format;
		}
	});
	const myvalueFormat = computed(() => {
		switch (attrs.value.valueFormat||attrs.value['value-format']) {
			case undefined:
			case '': // 根据详细类型返回默认格式化
				return dateProps[attrs.value.type ?? 'date'].valueFormat;
				break;
			default:
				// 返回设置的格式化
				return attrs.value.valueFormat||attrs.value['value-format'];
				break;
		}
	});
	return {
		myformat, // 默认的格式化
		myvalueFormat, // 返回值的格式化
	};
}
